package com.shrct.businessprocess.purchase;

import com.shrct.businessprocess.organization.RCEmployee;
import com.shrct.businessprocess.organization.RCSupplier;
import com.shrct.businessprocess.project.RCProject;
import com.shrct.businessprocess.purchase.RCPurchaseOrder;
import com.shrct.businessprocess.purchase.RCPurchaseOrderStatus;
import com.shrct.businessprocess.purchase.impl.RCPurchaseOrderCriteriaImpl;
import edu.fudan.mylang.pf.query.IPagedCriteria;
import edu.fudan.mylang.pf.query.QueryImplementation;

@QueryImplementation(implementBy = RCPurchaseOrderCriteriaImpl.class)
public interface RCPurchaseOrderCriteria extends IPagedCriteria<RCPurchaseOrder> {
  public abstract String getOrderNumber();
  
  public abstract RCPurchaseOrderCriteria setOrderNumber(final String orderNumber);
  
  public abstract RCProject getProject();
  
  public abstract RCPurchaseOrderCriteria setProject(final RCProject project);
  
  public abstract RCSupplier getSupplier();
  
  public abstract RCPurchaseOrderCriteria setSupplier(final RCSupplier supplier);
  
  public abstract RCPurchaseOrderStatus getClosedStatus();
  
  public abstract RCPurchaseOrderCriteria setClosedStatus(final RCPurchaseOrderStatus closedStatus);
  
  public abstract RCPurchaseOrderStatus getCancelStatus();
  
  public abstract RCPurchaseOrderCriteria setCancelStatus(final RCPurchaseOrderStatus cancelStatus);
  
  public abstract RCEmployee getOwner();
  
  public abstract RCPurchaseOrderCriteria setOwner(final RCEmployee owner);
  
  public abstract RCEmployee getBusinessMan();
  
  public abstract RCPurchaseOrderCriteria setBusinessMan(final RCEmployee businessMan);
}
